// vue.config.js
const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  transpileDependencies: true,

  // Vue CLI 5 推荐的方式
  chainWebpack: (config) => {
    config.plugin('define').tap((args) => {
      // 确保 args[0] 存在
      if (args && args[0]) {
        Object.assign(args[0], {
          // 正确的变量定义
          '__VUE_OPTIONS_API__': JSON.stringify(true),
          '__VUE_PROD_DEVTOOLS__': JSON.stringify(false),
          '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': JSON.stringify(false),

          // 同时设置 process.env 版本
          'process.env.__VUE_OPTIONS_API__': JSON.stringify(true),
          'process.env.__VUE_PROD_DEVTOOLS__': JSON.stringify(false),
          'process.env.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': JSON.stringify(false)
        })
      } else {
        args[0] = {
          '__VUE_OPTIONS_API__': JSON.stringify(true),
          '__VUE_PROD_DEVTOOLS__': JSON.stringify(false),
          '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': JSON.stringify(false)
        }
      }
      return args
    })
  }
})